/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package se.sll.engagemangsindex.dto;

import java.util.ArrayList;
import java.util.List;
import riv.itintegration.engagementindex._1.EngagementType;

/**
 *
 * @author khaleddaham
 */
public class EngagementTypeImpl extends EngagementType {

    /**
    protected String registeredResidentIdentification;
    protected String serviceDomain;
    protected String categorization;
    protected String logicalAddress;
    protected String businessObjectInstanceIdentifier;
    protected String clinicalProcessInterestId;
    protected String mostRecentContent;
    protected String sourceSystem;
    protected String creationTime;
    protected String updateTime;
    protected String owner;
    protected List<Object> any;
    */

    /**
     * Gets the value of the registeredResidentIdentification property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getRegisteredResidentIdentification() {
        return registeredResidentIdentification;
    }

    /**
     * Sets the value of the registeredResidentIdentification property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setRegisteredResidentIdentification(String value) {
        this.registeredResidentIdentification = value;
    }

    /**
     * Gets the value of the serviceDomain property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getServiceDomain() {
        return serviceDomain;
    }

    /**
     * Sets the value of the serviceDomain property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setServiceDomain(String value) {
        this.serviceDomain = value;
    }

    /**
     * Gets the value of the categorization property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getCategorization() {
        return categorization;
    }

    /**
     * Sets the value of the categorization property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setCategorization(String value) {
        this.categorization = value;
    }

    /**
     * Gets the value of the logicalAddress property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getLogicalAddress() {
        return logicalAddress;
    }

    /**
     * Sets the value of the logicalAddress property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setLogicalAddress(String value) {
        this.logicalAddress = value;
    }

    /**
     * Gets the value of the businessObjectInstanceIdentifier property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getBusinessObjectInstanceIdentifier() {
        return businessObjectInstanceIdentifier;
    }

    /**
     * Sets the value of the businessObjectInstanceIdentifier property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setBusinessObjectInstanceIdentifier(String value) {
        this.businessObjectInstanceIdentifier = value;
    }

    /**
     * Gets the value of the clinicalProcessInterestId property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getClinicalProcessInterestId() {
        return clinicalProcessInterestId;
    }

    /**
     * Sets the value of the clinicalProcessInterestId property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setClinicalProcessInterestId(String value) {
        this.clinicalProcessInterestId = value;
    }

    /**
     * Gets the value of the mostRecentContent property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getMostRecentContent() {
        return mostRecentContent;
    }

    /**
     * Sets the value of the mostRecentContent property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setMostRecentContent(String value) {
        this.mostRecentContent = value;
    }

    /**
     * Gets the value of the sourceSystem property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getSourceSystem() {
        return sourceSystem;
    }

    /**
     * Sets the value of the sourceSystem property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setSourceSystem(String value) {
        this.sourceSystem = value;
    }

    /**
     * Gets the value of the creationTime property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getCreationTime() {
        return creationTime;
    }

    /**
     * Sets the value of the creationTime property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setCreationTime(String value) {
        this.creationTime = value;
    }

    /**
     * Gets the value of the updateTime property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getUpdateTime() {
        return updateTime;
    }

    /**
     * Sets the value of the updateTime property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setUpdateTime(String value) {
        this.updateTime = value;
    }

    /**
     * Gets the value of the owner property.
     *
     * @return possible object is
     *     {@link String }
     *
     */
    @Override
    public String getOwner() {
        return owner;
    }

    /**
     * Sets the value of the owner property.
     *
     * @param value allowed object is
     *     {@link String }
     *
     */
    @Override
    public void setOwner(String value) {
        this.owner = value;
    }

    /**
     * Gets the value of the any property.
     *
     * <p> This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to the returned list will be present inside the JAXB object. This is why there
     * is not a
     * <CODE>set</CODE> method for the any property.
     *
     * <p> For example, to add a new item, do as follows:
     * <pre>
     *    getAny().add(newItem);
     * </pre>
     *
     *
     * <p> Objects of the following type(s) are allowed in the list
     * {@link Element }
     * {@link Object }
     *
     *
     */
    @Override
    public List<Object> getAny() {
        if (any == null) {
            any = new ArrayList<Object>();
        }
        return this.any;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final EngagementTypeImpl other = (EngagementTypeImpl) obj;
        if ((this.registeredResidentIdentification == null) ? (other.registeredResidentIdentification != null) : !this.registeredResidentIdentification.equals(other.registeredResidentIdentification)) {
            return false;
        }
        if ((this.serviceDomain == null) ? (other.serviceDomain != null) : !this.serviceDomain.equals(other.serviceDomain)) {
            return false;
        }
        if ((this.categorization == null) ? (other.categorization != null) : !this.categorization.equals(other.categorization)) {
            return false;
        }
        if ((this.logicalAddress == null) ? (other.logicalAddress != null) : !this.logicalAddress.equals(other.logicalAddress)) {
            return false;
        }
        if ((this.businessObjectInstanceIdentifier == null) ? (other.businessObjectInstanceIdentifier != null) : !this.businessObjectInstanceIdentifier.equals(other.businessObjectInstanceIdentifier)) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 59 * hash + (this.registeredResidentIdentification != null ? this.registeredResidentIdentification.hashCode() : 0);
        hash = 59 * hash + (this.serviceDomain != null ? this.serviceDomain.hashCode() : 0);
        hash = 59 * hash + (this.categorization != null ? this.categorization.hashCode() : 0);
        hash = 59 * hash + (this.logicalAddress != null ? this.logicalAddress.hashCode() : 0);
        hash = 59 * hash + (this.businessObjectInstanceIdentifier != null ? this.businessObjectInstanceIdentifier.hashCode() : 0);
        return hash;
    }    
}
